package com.pi.pro.xcmg.am.was.edi.infor.dto.req;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.pi.pro.xcmg.am.common.XcmgAmConstants;
import com.pi.pro.xcmg.am.was.edi.infor.common.InforWasXcmgExchangeConstants;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 任务反馈信息
 */
@Getter
@Setter
public class TaskReportData implements Serializable{

    //系统来源	source	string	Y	系统来源：LKWCS1、LKWCS2、LKWCS3，1期立库目前固定传LKWCS1
    private String source = InforWasXcmgExchangeConstants.INFOR_MAP_WH101_WMS_CODE;

    //仓库号	whseid	NVARCHAR2(10)	Y	固定传WMWHSE25
    private String whseid= InforWasXcmgExchangeConstants.INFOR_MAP_WH101_WAREHOUSER_ID;

    //任务号		NVARCHAR2(10)	Y	出库任务时：WMS拣货明细号，搬运业务时WCS任务号，如果上架业务立库生成唯一的编码作为任务号
    private String taskkey;

    //货主	storerkey	NVARCHAR2(10)	Y	货主
    private String storerkey= XcmgAmConstants.CUSTOMER_CODE_XCMG_AM;

    //WBS批次号	lot01	NVARCHAR2(10)	N	WBS批次号
    private String lot01;

    //数量	qty	number	N	实际上/下架数量，数量不能超过任务中的数量
    private BigDecimal qty;

    //物料编码	sku	NVARCHAR2(10)	N	物料编码
    private String sku;

    //源库位	FromLoc	NVARCHAR2(10)	Y	库存所在的库位
    //@JsonProperty("FromLoc")
    private String fromloc;

    //目标库位		NVARCHAR2(10)	Y	出库单任务传PickTo,移位单任务传移位单目标库位
    //@JsonProperty("ToLoc")
    private String toloc;

    //类型		NVARCHAR2(10)	Y	绑托：on_in/上架:in/拣选:out
    private String type;

    //WMS批次号	NVARCHAR2(10)	Y	WMS批次号
    private String lot;

    @JsonIgnore
    private Long transid=null;


    public String toString() {
        StringBuffer buf = new StringBuffer();
        buf.append("{");
        //
        buf.append("source:");
        if (this.source != null) {
            buf.append(this.source);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("whseid:");
        if (this.whseid != null) {
            buf.append(this.whseid);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("taskkey:");
        if (this.taskkey != null) {
            buf.append(this.taskkey);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("storerkey:");
        if (this.storerkey != null) {
            buf.append(this.storerkey);
        } else {
            buf.append("");
        }
        buf.append(",");
        //WBS批次号
        buf.append("lot01:");
        if (this.lot01 != null) {
            buf.append(this.lot01);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("qty:");
        if (this.qty != null) {
            buf.append(this.qty.stripTrailingZeros().toPlainString());
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("sku:");
        if (this.sku != null) {
            buf.append(this.sku);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("fromloc:");
        if (this.fromloc != null) {
            buf.append(this.fromloc);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("toloc:");
        if (this.toloc != null) {
            buf.append(this.toloc);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("type:");
        if (this.type != null) {
            buf.append(this.type);
        } else {
            buf.append("");
        }
        buf.append(",");
        //WMS批次号
        buf.append("lot:");
        if (this.lot != null) {
            buf.append(this.lot);
        } else {
            buf.append("");
        }
        buf.append(",");
        //
        buf.append("transid:");
        if (this.transid != null) {
            buf.append(this.transid);
        } else {
            buf.append("");
        }
        buf.append("");

        buf.append("}");
        return buf.toString();
    }
}
